package com.ihr360.payroll.entity.task;

import com.ihr360.common.NumberId;
import com.ihr360.payroll.type.PeriodState;
import com.ihr360.payroll.type.ReportState;
import lombok.Data;

import java.util.Date;

/**
 * 账期批次
 */
@Data
public class PayPeriodTermEntity extends NumberId<Long> {
    /**
     * 计算开始日期
     */
    private Date startOn;

    /**
     * 计算结束日期
     */
    private Date endOn;

    /**
     * 考勤起始日
     */
    private Date attendanceStartOn;
    /**
     * 考勤结束日
     */
    private Date attendanceEndOn;

    protected int workdays = 0;

    private boolean benefitsTerm = false;

    private int termIndex;

    /**
     * 是否引用社保公积金服务
     */
    private Boolean refSihf;
    /**
     * 是否引用考勤服务
     */
    private Boolean refAttendance;

    /**
     * 社保公积金数据未确定人数
     */
    private Integer sihfNotOkCount;

    /**
     * 考勤数据未确定人数
     */
    private Integer attendanceNotOkCount;

    private PeriodState state;

    private ReportState reportState;

    private ReportState payslipState;

    /**
     * 单批次true/多批次false标志 仅在校验时，设置以及利用该值
     */
    private boolean planMonthCycle;

    private Long mergeSalaryReportId;
}